make more testable