separate factories - now testing for validity, all tests green