properly genericized some stuff
fixed a badly genericized type
added better/more logging, relocated some objects out of this project