perfom action must return a boolean