This will require changes in API. Also depends on #32
This will require changes in API. Also depends on #32