Almost done just need to add a few more features