re-factor of Backend constructor