changed factories to be lists not single instances