update queue implemention