seperation of duties.. each type of record will be a module