silly basic implementation with some json stuff going on