working initialization