some inittial codes...