exercise one impl, proc entry unchanged from simple