done with observechanges, need to prettify stuff