A great refactor + fix time stuff