a bunch of added code to try and teach me syntax