added input_as plus a bunch of other updates