a go validation library using tags