Reworked Input classes