This took me over an hour