first pass of Nock impl