I thought overriding will be a clean approach since I had to put lot of ifs otherwise.