added basic functionality and layout;