Server based is almost done. need tests and auto updating