with screen switching and calculations