some more ideas, in code