improves Constructor