so much styling and a little logic