added communicator and simplesensor, fixed up api a bit more