update requirements and new functional test