camera class
engine as library