writing through convenience funcs