CS3141 major project