REN-132 begin major refactoring (does not compile yet)
REN-132 Further refactoring (does not build yet)
REN-132 Further refactoring