add ::Exception
minor cleanup