more semantics and add layout styling