Many many changes to finish the first part of the components lab