additional psuedocode