add preliminary command builder implementation