engine explained