Moved 4.x implementation into branch