first step of redefine some functions, use biber