submitting most of the Plot2 functionality