basic skeleton, with test stubs