add more testability