cleaned up interface of context