Imrpoving code, new mthods added.