some work on the initialization