finished client and server validation