Work on core functionality