added engine preference support