update use case + add necessary functions