add css, js, and update layout