Updated proposal for current prototype (still needs some rewriting)