Some more work, going to have to wait on custom patterns until implementing a full preference fragment