abstract method should not have body