only accepts instances with an :each method
names
more error handling