update with spec and choices