drawing functionality improvements