Lots of time was put into this