again missing else branch to resolve if something is not defined....BTW I start feeling that introduce classes representing such backend will be much nicer