reorganized everything and added some of mpl string