some more documentation and coding guidlines