first pass at core ext