moving toward functional approach