whole line funcs