simplified engine constructor