first draft of implementation: dataset and input patterns