engine object -> transient