working on layout and functionality