started working on macro support, doesn't really work yet though