simplifying internal code & adding partial card API