Requirements as First-Class Citizens: Integrating Requirements closely with Implementation Artifacts