customizable collection method