Add first SmartInit implementation