thinking in pseudo code