Working version, with auth, register add validation