Almost complete, only the toString() remains.