initial API work