add tester and improved formatting