answers, tests, implementation