Initial commit for v1.0. Most features working. Just need unit testing and a few more options