added performance analysis