First scratch at a potential API