Roughed out the core api