change parse to parse_parts to not conflict with classmethod parse