add tests and devise