(mostly) old functionality with turn processing