improve command controller