proper core handling