Updated to start using EPMacro, needs work, but its close