split to engine and simple package