final draft implementation