refined process and error messaging