improve callback data type