Couldn't get any better of the recovery mechanism. Tried checkpoint system and didn't like the approach so I did rewrite the recovery system but it didn't make a major difference :( Thanks for the feedback though