also, please add tests (examples are not tests)