Merging 1.5.6 code that has been in the DinisCruz-Dev branch

Contains code up to 1.5.6