adding in shell of parts 1 - 4