too many changes
i promise all of my comments wont be this useless