Added core functionality. No UI yet.