factor out software cards