refactor to abstract column schema
refactor to abstract id schema
refactor to abstract one-to-many schema
done TODO