update requirements. Also add pytest coverage