now with settingsservice for easier injection and mocking.