adeded some funcs