handle empty name parts