a lot of small changes, validations tbdone