Spent way too long on this