1) add io stream class
2) have fun trying uml