added guid generation