untested functions written