actually, why would it be abstract?