buggy but it runs