evolving implementation of completion requirement types