Updated the Design with some Changes,Added Serialisation