fully dynamic constructor