3541 final project