new classes and methods for inputs and outputs, bot complete yet