defer some initialization to make things faster