added 
	- Observer-Pattern structure (util.observer)
	- refined layout