-slight refactor settings implementation