this profiling can help find bottlenecks and improve implementation with better internal efficiencies