note implementation