Modified the GA class so that NaiveGA now subclasses it