core changes; perfomance