Refactored nearly everything in cell and added new tests and methods