add filter constructor
change MACROS to add static members on class