validation and unit+int tests