Added more inheritance to Surface, added test_plot