Added preprocessor
Added unary minus
Fixed bugs