Add use case and associated tests