not 100% happy with having to write the card conditions in raw js... I wonder if there's an abstraction layer I can do... adding it onto the todo list