wrote validation class tests
added creator classes for abstraction