improve Error inheritance, setting name and stack properties