partially finished dont call validate