almost done, just need to make some small changes with styling, add some text and write test classes.