add contact controller and refactor test