Mostly done, need some debugging and polishing :)