added utility interface functions, will work on threading next