refactoring ember to reflect a more proper implementation