First iteration working  - validation needs tightening