correct constructor