A lot of changes. Pro error handling.