basically done, do some minor bug fixing maybe