updated to handle most incoming fields