add deck factory