kind of functional
pulled down master -still have throw typeerror