pre-push improved