modified GameMode class for abstract type