Refactored field names
Refactored unit tests
Implemented PushLeft