proton.cpp