Real code, some bugs.
Component fix
Final commit