refactored boxplot to follow the new setup, add_collection, finalize API