Third commit. Still prototype.