adding diagonal logic to model