clean up; adding some sweet macros