added completed, todo fix the not null and default issues...