Fixed protocol; made abstracttank class