Rebase to CM

The goal is to support as many legacy devices as possible