optimised draw