required by every class