Big Changes

Large update in code