Add public macros, move defines to private dir
Resync project
Move private group to foler
A few more creation methods
More tests