This should be in the core. imo.