rough draft APIs
add SOA