Took me roughly 4 hours to do this. Worth it though.