Introducing generic backend