we now handle file saving and API. hooray.