all function is done but not perfact version