fix up signature & get tests to pass