created separate directives for edit, config, and preview panels