additional pseudocode