Better code I think everything will work (not everything just what I have changed, also starting to implement a setting.)