refactor the classes to pull from settings