Added turn-based implementation