re-implement password salting
actually doing it correctly this time >_<
also added some notifications instead of just throwing stuff in the query string