some kind of pseudocode