refine style and add mobile support