midway through stuff

tried taking current functionality and using that, but didn't have
enough functionality, so reverted stuff and now we're starting again