re-architected the application