Refactor and add specs for turn class
Refactor and add specs for turn class