move commands into separate modules