copied the first part
copied the one from BLACKBOARD