complete change_location and others

also pulled out more functions to indiv functions for more modular code