Refactor to component system
Improve components