work on core and tests