Code for CPE593 course