basic functionality and tabbed layout