Edited to include a few old half baked ideas