first non-asynchronous version working from the web ui