full update functionality for all sample types