optimized code
add screen preview