Separate pushing and pulling