add turn function