Some implementation stuffs.