Merge upstream &  implement blinkdrive