added turn function, not tested