Maybe we will get our function merged into the core, so I have added
some marks to it