add documentation
drop useless tests, refine existing one