Implemented some new macros and improve overall appearance
Added multimethods