code base for CS147