Add core functional and tests.