Modelling with Ordinary Differential Equations (A Comprehensive Approach)