rework build to be generic