Prototype

If you receive this pull request from me, please ignore it. I'm trying to find a way to update my fork to match the changes that have been recently made. Is there an easier way to do this?