Big Update of changes and new code