initial draft comit
only a small part of the API is implemented