Newidea

Combining the changes from newidea