settings ui and edge case fixes