added location, datastructure, exception