implements composite panel and refactor pages