tweaked canDoAction