Completed refactoring to incorporate OO business layer