this can move into the inputs