working versions, no args all interaction :D