Final Version. Minor bug fixed.