all funcs added