GIANT commit. All things included(exept new logic).