added 'random' record to register, switched to mixin system for most records, got all existing tests working
fixed merge conflict