added data classes, changed requirements