add more documentation
removed unused code
change kwargs to be more self consistent
remove init_block() method