add canExecute method