enhanced draw logic