added abstract error