Various changes

added some utility functions for defining movement and various other
changes