Add example 02, refactored code, add initial DMD support