End of 8. HW plus massive refactor/rewrite