fixing touch again (only creates val if key doesn't exist && touch)