before use new interface