change function() param to callback()