start of core api