student project - not multi-threaded, without many helpful features