optimize return