#2 implemented all special functions except for first card functions