Refactor, add intelligent defaults, new plots