progress on core refactor