validation seems to be better now, still not 100% happy