implement primitive commands