first initial commit, add API and CORE