2nd draft of turf refactor