initial version of decision hierarchy

This is just a pattern, later should be change and extend based on the real situation.