improve usage message and move actions to different files for better modularity