some outer funcs for searches and ownership functions done
slightly better error handling