Added the context pattern