add tests and follow