working on validation etc