Set Input Changes

Original logic didn't make sense (I made them outputs instead of
inputs), so here is new logic to replace it.

Also, added descriptions about how the function is designed to work and
the associated return values.