extensible backend update

closes #227