playing with macros and implicits