reorganize
reorganise and toying with new validation