additional API
initial structure and tests