further funcs update