(I might still find a way to do this, but I'll fix the bugs the existing code first.)