implemented action handling