implement slam++-style drost model-building