name refactor and using AbstractCommand class to include utility methods