Correct (please test) implementations for the instantiation functions.