changed processing order to cw/macro, required and validate