Added location info, tidied up code, added (C)