context is always global. must fix