final version, password changing added