some internal code for some stuffs.