added core code, dependencies, and UI