implement action factory