clean up ugly castling methods with convenience methods & comments