refactored commands into separate files