change whole structure and add responsive layout and exception prettyfier