password hash, updated tests, error pages added