replaced ::Any with Union