fixed #3 handle must be function