rewrite ams-push