A more clean initialization process.