replaced the reset function with the ability to destroy each context by itself