some funcs changed to props