sample factory for gather