use interface type