interface input to abstract class