add convert base function