Graphics module rewrite (20%)