add api interfaces
move to library structure with example project