updated pseudo code to reflect actual implementation