corrected source type class handling