not finished but mostly working