hook and positions