Added implementation of IC 7, 8 with abstracted functions