refactoring record subtypes and fixing limit on model backend