Refactor 3 FINAL'ish