for CS111 stuff