why we need return?