New code layout

avoid instantiating to many objects for parsers and VM
Some more documentation