final update. built and checked