refactoring settings creation, needs more work, maybe rewrite the entire ui