CSCE 489 project