Association api rework