Restructure, better inheritance, some UI improvements