optimize initializations, mark with block