basic structures - main frame, editor, shell