moved closure initalize on demand