for CS 304 labs