adding some parts data and error checking