final - uploaded to blackboard