improve testing and testability