adding port of provided code bits and outline for assignment