client side: might have overused icon fonts