draw 4 functional