deal with primary and secondary correctly