collected functions