progress on push_var