Spent some nights doing this