structures and inputreader