changed modual to class, add engine attrs