add homework for context managers