more refactor
refactor callback to use normal array