add basic backend functionality