This should be updated to use bcrypt