use stable unique function call