Add and Refactor: tests