finish the base function.
finish the base function.