Better implementation base functions.