Fix projection required field

fix projection on required fields and refactor unit tests for columnIO