#6 add some mobile optimization