CPE 701 final project