switched to client-side updating
moving limit to client side call, minor tidying