initial version with a couple of working tests