updated and better

this is much better still needs hookup to validation logic