better organization

moved api interfaces to their own packages