implemented deck class