adopt ARC
long screen support
clear code