no need for hook