tidy up funcs