add engine and listeners