Add push and pull for lap-and-up

Also tidy up how push and pull are included. Fixes #148