initialization work