Buggy but mostly working