deeper model, some changes in reading input