Add type check and tests
Call validate check arg from factory method
max/min child checks