support nested special function calls