gitignore
minor refactoring
added examples
macros