working on factories, next unit tests