make this stuff testable