more wip and better structure

divided into more methods and documented some of them
added some more nice shortcuts as properties
also added a few todos and a bit of error handling