CS3249 project