Updated toString, refactoring