fixed: abstract configuration, code quality, optional client secret 
generation