improved some names and done some validation