collect flow object sourc object target todo implement implement except 