change Fund to be polymorphic