refactor
refactor, added new class Tab, and FirstPage