refactored with --push as a boolean for new command