card functionality and styling