implement turn method
implement full turn