comp3109 optimizer