Keep original code intact to keep interface the same but allow for dependency injection
initial refactors