refactor associations a little bit