Reworked constructor handling