push and commit with all abstract classes