commands processing