greatly simplified the objs, thanks @gregcaporaso
factory has been awesomeized