register and val worked on