Refactoring
Add improvements and forgot-password and activation feature
Restore tests