improve initlation