work in progress internals documentation, will be pushed to svn every now and then