add return self