psuedocode and planning