clean but quite expensive