use interface type instend of pointer to interface type