rack complient
add layout instead of returning string
add css for styling