attempt at converting to a war-able implementation
inspired by crawljax web