better error message on buy