working model before adding lines and pointer controls