Add contact page and refactor