tests work for an initial version