fix starvation and message problem, now should work 100%