Add usecases and tests for usecases
Merge fix