Could do more but partly addressed #1