nom update
callback based implementation,better exit strategy