cleaned up no-arg constructor and properly implemented toString override