A more flexible initialization scheme