add some samples and add macros