only init fields if visible
init fields after setting up hooks, to fix the order this is done