multiple initialization calls allowed for robustness