added: macro for exit and return