hide sensitive data to configuration file
refactor
refactor core logic from spaghetti