why private? also one newline too much after m_passes decl