adjust to use interface