outsourced some drawing functions