breaking effects, input refactor
input frefactor 2