added collect method