Started implementing macro-like functionality, but it needs more work...