i'm yet to see a good implementation of that sort of thing yet