major update. ready to deploy.