implemented alternative way to do actions