re-introducing BasicXXX classes