changes to all operation functions