WIP, examine with prof. This is as far as I got