reshuffled class structure for inputs, still WIP