Everything except observer
Finished UI
starting point