unify asserts into validate
continue documentation