Challenges of reengineering into multi-tenant SaaS applications