added configuration, manage authentication, separate authentication methods, edit README.md for details