comments, add programatic support