add self print code