add more comments and a to-do