preliminary setup and api created