initial API interface