renamed helper to basicConv, factored out update function