add custom funcs