-WIP on diff mode, close to finished