starts to work, still lot todo