Turned on O3 optimization, fixed all errors / warning