code for CS636