Added change_by_shade
Various improvements
Added examples of use.