improvements to roam

* split works perfectly
* merge works perfectly
* need to do:
** actual error calculation
** error projection
** distance based error
** line of sight based error