if/else if/else assembly works