refactoring commands doing crazy and probably bad metaprogramming
move more commands over to commands/{command}.ex