First pass psuedocode