misc fixes, array stuff, defmacro, working on uniform syntax