add dm ability
move actions into separate classes