Implemented changes according to exercise 4, similar functionality will be implemented later anyways.