refactored enough for my liking, deploying to github pages