added the core functions api