Move virtual functions' definitions into header to resolve linking error
Autoindent