add package and some core interface