key manipulations