updated with cloud_viewer.cpp