ui basically done, slightly buggy