Changed BMAttack to an abstract class