use pimpl for collision in tile_parser