init support more backend type