more loose backend type definitions