finish class vs type explanation