I know this needs a server, but maybe there is some way it can be included without losing the flexibilty