more asserts, less laziness