Restructured to support web & mobile deployments