pseudo code, add parameter