using through interface