Optimized by avoiding unnecessary object contruction --kazu