refactored. added drawing methods