added execution time measurement