Switch to using complex primitive