cleaned init