NUS CS4274 Term Project