move errors into their own file