implimented locate, needs testing