Final updates. Still need to handle exceptions.