pseudo code for delegate classes