added proper methods for robust solutions