Add initial base implementation of API