add qEngine base class