improve init process