make better use for context