layout and functionality update