Initial implementation of macros

* flipper macro implemented
* flipperOrDefault macro implemented
* unit tests implemented