lame CS170 stuff