fix bugs, add Input::__invoke, tests