initialization from existing code