changed many things (js, validation etc.)