algorithms implemented, mostly tested, some general documentation