fixed macros, added more ad-hoc syntax