created module per use case