some optimization, running performance tests...