--- begin code snippet ------ end code snippet ---