flesh out api a bit more

the things the example app demos should be considered secondary