add adapted from note