layout and basic functionality working