add collection and sti support