Need more info on use case, but otherwise works