new input functionality, still needs to be tested