Better code
Added support of macros