removed the use of IContext