Sorry for the super long post