trying to make complex factories. not working yet