added new interface to deal with location and made a jobComposite class