singleton + returnError
no singleton anymore