reorganized with own screen class