several fixes, switching to a loose MVC model, improved output