What is/are the differences between using macros or subroutines...don't they do the exact same thing???