#this took me half an hour