added use case functionality