code cleanup, added flow control to project test file, added first argument as erorr for user password hash callback