DE re-arranged & extended