UPDATE: Make classes able to be substituted with arguments