moving to abstraction which is named as 'context'