finished: roadmap pseudocode