Added warn source and line numbers, created base class