Finished 2B

Realized that we were misunderstanding the interface initially, which
made the implementation of 2B much simpler and devoid of any issues. It
should be ready for submission, save for any errors found in testing