base class for lenses