used eclipse's toString generator