sure there's many different way to do the same thing, sure there's few improvement to do... but i'll ask...

how slow it is,

how fast you want it and why?

Why you don't use the PIC USART etc etc etc.