add tests and moar comment