group model spec and implementation
add header comment