very clean (if it works)