REFACTOR: Most of changes Eric requested updated