add some pseudo codes