Adding some cool base functions (with thanks to Rovak)