Initial commit containing the core functionality that is required for this lib