Split api into sub-modules