changed naming to application password, refactored to provide factory, not the client itself, some other fixes