general layout and functionality added