added support for custom client id/secret