tidying up, starting consume function