updated & reorganized API classes