cleanup
rename function for better redeability
rename functions for better redeability
create generic command function to handle different sources