Feature/refactor to make commands extends command