moved API functions to separate source file