mostly working...
>_>