Add program overview, setting and about views and refactoring