updated comments and TODO