spec and model init