* Added some more validation - major refactoring is due